In recent years, a technique referred to as OpenFlow has been proposed (see PTL 1 and NPLs 1 and 2). OpenFlow recognizes communications as end-to-end flows and performs path control, failure recovery, load balancing, and optimization on a per-flow basis. An OpenFlow switch (see reference characters 90 to 92 in FIG. 10) according to NPL 2 has a secure channel for communication with an OpenFlow controller (see reference character 93 in FIG. 10) and operates according to a flow table suitably added or rewritten by the OpenFlow controller. In the flow table, a set of the following three is defined for each flow (see FIG. 11): match fields in which contents matched against packet headers are defined (Match Fields); flow statistical information (Counters); and instructions that define processing contents (Instructions).
For example, when an OpenFlow switch receives a packet, the OpenFlow switch searches the flow table for an entry having Match fields that match header information of the incoming packet. If, as a result of the search, the OpenFlow switch finds an entry matching the incoming packet, the OpenFlow switch updates the flow statistical information (Counters) and processes the incoming packet based on processing contents (packet transmission from a specified port, flooding, drop, etc.) written in the Instructions field of the entry. If, as a result of the search, the OpenFlow switch does not find an entry matching the incoming packet, the OpenFlow switch transmits an entry setting request to the OpenFlow controller via the secure channel. Namely, the OpenFlow switch requests the OpenFlow controller to determine a processing content for the incoming packet. The OpenFlow switch receives a flow entry corresponding to the request and updates the flow table. In this way, by using an entry stored in the flow table as a processing rule (packet handling operation), the OpenFlow switch executes packet forwarding.
In addition, PTL 2 discloses a computer system using the above OpenFlow. According to PTL 2, to improve resistance to failure of the system, a plurality of (OpenFlow) controllers are arranged and each of the controllers sets flow entries including respective priorities in OpenFlow switches.